1. Field of the Invention
The application relates to a method for conveying compact information of neighbor basic service sets (BSSs) or access points (APs) to a station (STA) in a scanning process to help reduce the scanning time.
2. Description of the Prior Art
A wireless communication system conforming to IEEE 802.11 standard may include at least a station (STA) and one or more access points (APs) operating in the same or different channels. Before using any network, a user must first find it. With wired networks, finding the network is to look for the cable or a jack on the wall. In wireless networks, stations must identify a compatible network before joining it. The process of identifying existing networks in an area is called scanning, which supports the process of determining the characteristics of the available basic service sets (BSSs).
A STA may operate in either a Passive Scanning mode or an Active Scanning mode according to a current value of a ScanMode parameter of a “MLME-SCAN.request” primitive. This primitive requests a survey of potential BSSs such that the STA can arbitrarily join. In detail, the primitive parameters can be realized as BSSType, Basic Service Set Identifier (BSSID), SSID, ScanType, ProbeDelay, ChannelList, MinChannelTime, MaxChannelTime, RequestInformation, SSID List, ChannelUsage, AccessNetworkType, HESSID, MeshID, and VendorSpecificInfo. The ChannelList parameter specifies a list of channels to be examined when scanning for one BSS. If the ScanType parameter indicates a passive scan, the STA may listen to each channel scanned for no longer than a maximum duration defined by the MaxChannelTime parameter. Active scanning involves the generation of Probe request frames and the subsequent processing of received Probe Response frames. Active scanning is prohibited in some frequency bands and regulatory domains.
Once the MLME-SCAN.request primitive is received, the STA may perform the scanning. The SSID parameter indicates the SSID for which to scan. The SSID List parameter indicates one or more SSIDs for which to scan. To become a member of a particular Extended Service Set (ESS) using passive scanning, the STA may scan for Beacon frames containing the ESS's SSID, returning all Beacon frames matching the desired SSID in the BSSDescriptionSet parameter of the corresponding MLME-SCAN.confirm primitive with the appropriate bits in the Capabilities Information field indicating whether the Beacon frame comes from an infrastructure BSS or Independent BSS (IBSS). If the value of dot11RMMeasurementPilotActivated is greater than 1, the STA may additionally scan for Measurement Pilot frames, returning in the BSSDescriptionFromMeasurementPilotSet parameter all Measurement Pilot frames that equal the requested BSSID of the corresponding MLME-SCAN.request primitive and are not members of the BSSDescriptionSet yet. To actively scan, the STA may transmit Probe request frames containing the desired SSID or one or more SSID List elements. When the SSID List element exists in the Probe Request frame, one or more of the SSID elements may include a wildcard SSID. When the STA scans for a BSS whose AP does not support the SSID List element, or for a BSS for which AP support of the SSID List element is unknown, the SSID element with an SSID or wildcard SSID may be included in the MLME-SCAN.request primitive. Once the scanning completes, an MLME-SCAN.confirm primitive may be issued by the MLME indicating all of the BSS information received.
Once receiving an MLME-SCAN.request primitive with the SSID parameter equal to the wildcard SSID, the STA may passively scan for any Beacon or Measurement Pilot frames, or actively transmit Probe request frames containing the wildcard SSID, as appropriate depending upon the value of ScanMode. Once the scanning completes, an MLME-SCAN.confirm primitive may be issued by the MLME indicating all of the BSS information received. If one STA's scanning does not result in finding a BSS with the desired SSID and of the desired type, or does not result in finding any BSS, the STA may start an IBSS when receiving the MLME-START.request primitive.
When receiving the MLME-SCAN.request primitive with ScanType indicating the active scan, the STA may process the following steps for each channel to be scanned:                a) Wait until the ProbeDelay time has expired or a PHYRxStart.indication primitive has been received.        b) Perform the Basic Access procedure.        c) Send a probe request to the broadcast destination address, with the SSID and BSSID from the MLME-SCAN.request primitive. When the SSID List exists in the MLME-SCAN.request primitive, send one or more probe request frames, each with an SSID indicated in the SSID List and the BSSID from the MLME-SCAN.request primitive.        d) Set to 0 and start a ProbeTimer.        e) If PHY-CCA.indication (busy) primitive has not been detected before the ProbeTimer reaches MinChannelTime, then set NAV to 0 and scan the next channel, else when ProbeTimer reaches MaxChannelTime, process all received probe responses.        f) Set NAV to 0 and scan the next channel.        
When all channels in the ChannelList have been scanned, the MLME may issue an MLME-SCAN.confirm primitive with the BSSDescriptionSet containing all of the information gathered during the scanning. The BSSDescriptionSet is a set containing zero or more instances of a BSSDescription. Each BSSDescription includes the elements to be categorized as following:                a) BSSID, SSID, and BSSType        b) Beacon Interval, DTIM period        c) Timing parameters        d) PHY parameters        e) BSSBasicRateSet        f) EDCAParameterSet, QoSCapability        g) HT Capabilities, HT Operation        h) RM Enabled Capabilities        i) Load, BSS Available Admission Capacity        j) BSS Average Access Delay, BSS AC Access Delay        k) RCPIMeasurement, RSNIMeasurement        
After compiling the scan results, the STA may join one of the BSSs, which represents a precursor to association and does not yet enable network access. Before this can happen, both authentication and association are required. It is an implementation-specific decision to choose which BSS for joining, which may involve user intervention. Common criteria used in the decision are power level and signal strength.
Since the IEEE 802.11 system supports multiple channels and the APs may select different or the same channel to provide BSSs/ESSs according to available channels and the capacity of each channel, STAs are usually necessary to scan for available APs on several channels before selecting one BSS to join. In a densely deployed area of wireless APs operating on the same or different channels, it may take a long time for the STA to check the existence of the BSSs, so as to find the suitable AP for association.
Therefore, the scanning process may be lengthy, and it is desirable for users to effectively reduce such delays and to reduce unnecessary scanning on channels which are less likely to have an AP or the existing AP is less likely to accept serving additional STAs. Also, it is also important to provide a method for the AP to collect neighbor information about the other non-operating APs, so as to avoid overhead thereof.